home *** CD-ROM | disk | FTP | other *** search
/ Professional Soft Collection 1.02 / Professional Soft Collection 1.02.iso / qemm.80c / technote.qip / EXCLUDE.TEC < prev    next >
Text File  |  1995-11-04  |  12KB  |  280 lines

  1.  
  2.         QEMM Analysis Procedure for Solving Memory Conflicts
  3.  
  4.  Quarterdeck Technical Note #219              Filename: EXCLUDE.TEC
  5.  by Quarterdeck Testing & Compatibility     CompuServe: EXCLUD.TEC
  6.  Last revised:  7/02/92                       Category: QEMM
  7.  
  8.  Subject: Finding potential conflicts in the address space between
  9.           640K and 1MB by using QEMM's Analysis procedure.  An
  10.           important note for users on network workstations.
  11.  
  12.  Q. What is Analysis?
  13.  
  14.  A. Whenever QEMM is "on" it monitors the use of the first megabyte
  15.     of address space.  The QEMM/ANALYSIS screen of Manifest shows
  16.     what portions of the address space need to be EXCLUDEd to avoid
  17.     High RAM conflicts.
  18.  
  19.  
  20.  Q. Why should I use Analysis?
  21.  
  22.  A. If you are getting an Exception #13, are unable to access your
  23.     network when QEMM is installed, cannot access a floppy, print,
  24.     run some program, lock-up at some identifiable point in
  25.     operating your computer (from booting to running your word
  26.     processor), or have some other problem when running QEMM that
  27.     you do not have when you do not run QEMM, then the ANALYSIS
  28.     procedure may be a useful diagnostic process.
  29.  
  30.  
  31.  Q. Why is this necessary?
  32.  
  33.  A. This procedure is necessary sometimes because Adapter ROMs and
  34.     Adapter RAMs do not identify themselves in such a way as to be
  35.     detected properly by QEMM.  Adapter ROMs are supposed to
  36.     identify their length in the third byte of the ROM itself but
  37.     sometimes report a smaller size.  Adapter RAMs that are not
  38.     active at boot look exactly like unoccupied address space. QEMM
  39.     maps unused portions of the system BIOS ROM and will map over
  40.     such adapter ROMs and RAMs.  Some special CGA video cards have
  41.     two pages of video:  one at B800-BBFF, the second at BC00-BFFF.
  42.     QEMM may map over the second page, causing a conflict if you
  43.     run a program that tries to use the second page.  In rare
  44.     circumstances there are programs that use portions of the high
  45.     address space directly.
  46.  
  47.  
  48.  Q. How does Analysis work?
  49.  
  50.  A. The QEMM/ANALYSIS screen of Manifest is a cross-reference
  51.     between the QEMM/TYPE and QEMM/ACCESSED screens.  The TYPE
  52.     screen shows what QEMM thinks the address space is used for:
  53.     Video, ROM, Page frame, High RAM, etc.  The ACCESSED screen
  54.     shows whether the address space has been accessed.  When QEMM
  55.     is neither accessing the high address space (by creating High
  56.     RAM -- when the RAM parameter is on the QEMM386.SYS line in
  57.     CONFIG.SYS), and when some portion of the address space is
  58.     being accessed by something that QEMM has not detected
  59.     automatically, a portion   of the address space must be
  60.     EXCLUDEd.  Analysis displays the correct range to EXCLUDE.
  61.  
  62.  
  63.  Q. How do I use ANALYSIS to find EXCLUDEs?
  64.  
  65.  A. First remove the RAM parameter from the QEMM386.SYS line of the
  66.     CONFIG.SYS and add the ON and MA=0 parameters.  This is to make
  67.     sure that QEMM386 is not itself a user of the high address
  68.     space, and that to ensure that QEMM on.  Then reboot the
  69.     machine and run the software that was causing the problem. The
  70.     problem should not recur; if it does, a High RAM conflict is
  71.     not the problem, and you should consult Quarterdeck Technical
  72.     Note #241, QEMM General Troubleshooting (TROUBLE.TEC).  Without
  73.     rebooting, look at the QEMM / ANALYSIS screen in Manifest.  If
  74.     you see Xs, then these portions of the address space must be
  75.     EXCLUDEd on the QEMM386.SYS line of the CONFIG.SYS.  See the
  76.     QEMM manual section on the syntax of the EXCLUDE parameter. If
  77.     the QEMM is putting the page frame over a portion of the
  78.     address space that QEMM should not be mapping then it may be
  79.     necessary to put the parameter FR=NONE on the QEMM386.SYS line
  80.     of the CONFIG.SYS during the ANALYSIS process. Once you are
  81.     done with the ANALYSIS process you can restore the RAM
  82.     parameter to the QEMM386.SYS line along with the appropriate
  83.     EXCLUDEs.
  84.  
  85.  
  86.  Q. How can Analysis fail?
  87.  
  88.  A. The only serious pitfall to the ANALYSIS process is that there
  89.     are users of the high address space that use the high address
  90.     space only momentarily.  There is, for example, a Bernoulli
  91.     drive that has an Adapter ROM in the high address space.  At
  92.     boot time, the device driver for the Bernoulli Box searches for
  93.     the ROM at the beginning of every 8K portion of the address
  94.     space beginning at C800.  If the Adapter ROM is at DC00 then
  95.     the device driver will access every other 4k of the address
  96.     space from C800 to DC00.  This causes Xs to appear in every
  97.     other block in this area, even though the areas between
  98.     C800-DBFF are only being used during the searching process.
  99.     Most of these areas need not be excluded.  The range from
  100.     DC00-DEFF, where the Adapter ROM of the Bernoulli Box resides,
  101.     may require an EXCLUDE.
  102.  
  103.     When you go into enhanced mode of Microsoft's Windows then QEMM
  104.     is not active and the ANALYSIS process is not useful for the
  105.     period of time that you are in enhanced mode.
  106.  
  107.  
  108.  Q. What cost can there be in excluding an area?
  109.  
  110.  A. EXCLUDEing a portion of the address space will only cost you,
  111.     at the worst, a bit of usable high RAM.  It will not make your
  112.     system malfunction in any other way, and is likely to improve
  113.     stability.
  114.  
  115.     If you add an EXCLUDE you should run OPTIMIZE again because
  116.     your available High RAM regions have been resized and perhaps
  117.     renumbered.
  118.  
  119.  
  120.  Q. What about those green "I"s?
  121.  
  122.  A. The green I you see on the QEMM/ANALYSIS screen indicates that
  123.     this portion of the address space has not been accessed by
  124.     anyone YET and QEMM is not mapping this portion of the address
  125.     space.  It is quite possible that this portion of the address
  126.     space will be accessed later.  (The portion of the system BIOS
  127.     ROM that contains the code for controlling the floppy drive may
  128.     report that it is INCLUDable until you actually use the drive.
  129.     If you INCLUDE it you will have no problem until you access a
  130.     floppy.)  The QEMM manual discusses the use of the ANALYSIS
  131.     process for this purpose; this document does not.
  132.  
  133.  
  134.  Q. How do I perform the Analysis procedure?
  135.  
  136.  A. A thorough Analysis requires that you run all your programs.
  137.     However, if a specific program seems to be exhibiting a High
  138.     RAM conflict, you need only do a mini-Analysis by running the
  139.     program that seems to be exhibiting the problem.  As an
  140.     example, suppose that you have installed an adapter card and
  141.     software for a scanner. While the device driver for the scanner
  142.     loads in CONFIG.SYS, part of the hardware is not accessed until
  143.     you scan a document.  This causes a crash, since QEMM has
  144.     mapped High RAM over the address space that the adapter and the
  145.     software expect to use.  (It is unlikely, incidentally, that
  146.     OPTIMIZE will fail to detect the card properly.)
  147.  
  148.     To begin the ANALYSIS process, modify your QEMM386.SYS line to
  149.     look like this:
  150.  
  151.     DEVICE=C:\QEMM\QEMM386.SYS ON MA=0
  152.  
  153.     Reboot your machine.  In this example, we would access the
  154.     hardware by scanning a document.  After doing this, start
  155.     Manifest by going to the DOS prompt and typing
  156.  
  157.     MFT
  158.  
  159.     Select the QEMM / Type screen by typing Q, and then Y. Manifest
  160.     will display a chart something like the following:
  161.  
  162.          n=0123 4567 89AB CDEF
  163.       0n00 XXXX XXXX XXXX XXXX
  164.       1n00 ++++ ++++ ++++ ++++
  165.       2n00 ++++ ++++ ++++ ++++
  166.       3n00 ++++ ++++ ++++ ++++
  167.       4n00 ++++ ++++ ++++ ++++
  168.       5n00 ++++ ++++ ++++ ++++
  169.       6n00 ++++ ++++ ++++ ++++
  170.       7n00 ++++ ++++ ++++ ++++
  171.       8n00 ++++ ++++ ++++ ++++
  172.       9n00 ++++ ++++ ++++ ++++
  173.       An00 VVVV VVVV VVVV VVVV
  174.       Bn00 ++++ ++++ VVVV VVVV
  175.       Cn00 RRRR RRRR ++++ ++++
  176.       Dn00 R+++ ++++ ++++ ++++
  177.       En00 FFFF FFFF FFFF FFFF
  178.       Fn00 ++++ +++R RRRR RRRR
  179.  
  180.     Look at the Dn00 line.  This indicates that QEMM is identifying
  181.     an Adapter ROM in D000-D0FF.  Now select the QEMM / Accessed
  182.     screen by pressing the C key.  Manifest will display a screen
  183.     that looks like this:
  184.  
  185.          n=0123 4567 89AB CDEF
  186.       0n00 WWWW AAAA AWWW WWWW
  187.       1n00 WWWW WWWW WWWW WWWW
  188.       2n00 WWWW WWWW WWWW WWUU
  189.       3n00 UUUU UUUU UUUU UUUU
  190.       4n00 UUUU UUUU UUUU UUUU
  191.       5n00 UUUU UUUU UUUU UUUU
  192.       6n00 UUUU UUUU UUUW WWWW
  193.       7n00 WWWW WWWW WWWW WWWW
  194.       8n00 WUUU UUUU WWUU UUUU
  195.       9n00 UUUU UUUU WWWW WWWW
  196.       An00 WWUU UUUU UUUU UUUU
  197.       Bn00 UUUU UUUU WWWW WWWW
  198.       Cn00 WWWW WWWW UUUU UUUU
  199.       Dn00 WWAA UUUU UUUU UUUU
  200.       En00 UUUU UUUU UUUU UUUU
  201.       Fn00 UUUU UUUU UUUU UUUW
  202.  
  203.     Look at the Dn00 line:  QEMM is detecting that D000-D3FF is
  204.     actually being accessed, D000-D1FF being written to and
  205.     D200-D3FF only being read, and is passing this information to
  206.     Manifest.  Now choose the QEMM / Analysis screen by pressing
  207.     the N key:
  208.  
  209.          n=0123 4567 89AB CDEF
  210.       0n00 OOOO OOOO OOOO OOOO
  211.       1n00 OOOO OOOO OOOO OOOO
  212.       2n00 OOOO OOOO OOOO OOOO
  213.       3n00 OOOO OOOO OOOO OOOO
  214.       4n00 OOOO OOOO OOOO OOOO
  215.       5n00 OOOO OOOO OOOO OOOO
  216.       6n00 OOOO OOOO OOOO OOOO
  217.       7n00 OOOO OOOO OOOO OOOO
  218.       8n00 OOOO OOOO OOOO OOOO
  219.       9n00 OOOO OOOO OOOO OOOO
  220.       An00 OOOO OOOO OOOO OOOO
  221.       Bn00 OOOO OOOO OOOO OOOO
  222.       Cn00 OOIO OIOO OOOO OOOO
  223.       Dn00 OXXX OOOO OOOO OOOO
  224.       En00 OOOO OOOO OOOO OOOO
  225.       Fn00 OOOO OOOO OOOO OOOO
  226.  
  227.      Press the F3 key to display the information in List Mode.
  228.      You will see a table that looks like this:
  229.  
  230.       Memory Area   Size   Status
  231.       0000 - C1FF   776K  OK
  232.       C200 - C2FF     4K  Include
  233.       C300 - C4FF     8K  OK
  234.       C500 - C5FF     4K  Include
  235.       C600 - D0FF    44K  OK
  236.       D100 - D3FF    12K  Exclude
  237.       D400 - FFFF   176K  OK
  238.  
  239.      ANALYSIS is showing that D000-D3FF needs to be EXCLUDEd. This
  240.      is the sort of address range that might be associated with a
  241.      scanner card at D000.  In the example above, QEMM accurately
  242.      identifies a 4K adapter ROM on boot; in fact, the example card
  243.      has an unmarked RAM buffer on it as well.  The ACCESSED map
  244.      above shows that 16K is being accessed, and the ANALYSIS map
  245.      is pointing out that the additional 12K must be EXCLUDEd.
  246.      Note that unlike the display above, there should be no spaces
  247.      within the EXCLUDE parameter.  That is,
  248.  
  249.      X=D100 - D3FF
  250.  
  251.      is NOT a valid QEMM parameter, while
  252.  
  253.      X=D100-D3FF
  254.  
  255.      is valid.
  256.  
  257.      Thus, a CONFIG.SYS line to account for the scanner, based on
  258.      our mini-Analysis procedure, would look like this:
  259.  
  260.      DEVICE=C:\QEMM\QEMM386.SYS RAM X=D100-D3FF
  261.  
  262.      (Increasing the range of the EXCLUDE such that it covers
  263.      D000-D3FF is not harmful in any way.)
  264.  
  265.  Summary
  266.  =======
  267.  
  268.  QEMM does its best to identify users of the high address space,
  269.  but hardware not accessed at boot time may not be detected by
  270.  QEMM.  ANALYSIS allows the user to find areas between 640K that
  271.  are used by hardware.
  272.  
  273.  ******************************************************************
  274.  *      Trademarks are property of their respective owners.       *
  275.  *   This and other technical notes may be available in updated   *
  276.  *     forms through Quarterdeck's standard support channels.     *
  277.  *          Copyright (C) 1995 Quarterdeck Corporation            *
  278.  ******************** E N D   O F   F I L E ***********************
  279.  
  280.